In enterprise systems, system data needs to have redundancy, high availability, and off-site replication. Therefore, a shared network storage that has integrated redundancy and high availability is typically used to store system data. This shared network storage is accessed by many separate machines, each of which reads and writes to the shared network storage. The separate machines may all access the same shared network storage, which provides cluster-level redundancy.
One type of system data that may be stored in the shared network storage is a disk image that includes a virtual machine. Organizations that use virtual machines (VMs) such as virtual desktops for various users may have many virtual machines (e.g., on the order of 100,000 virtual machines) with disk images stored on the shared network storage. These virtual machines may be shut down during the weekend or at night to reduce energy expenditures. It is then common for many users to attempt to start virtual machines at around the same time (e.g., at 9:00 AM when the workday begins). When multiple machines access the shared network storage to start VMs at the same time, this can cause an increased load on the shared network storage, and on the network pathways to the shared network storage. This may increase an amount of time that users have to wait for the virtual machines to be started. In some situations, VMs may even fail to load properly if too many users request VMs at the same time.